<template>
    <div class="row">
        <div class="card" v-show="info.users.length" v-for="user in info.users" :key="user.login">
            <a :href="user.html_url" target="_blank">
            <img :src="user.avatar_url" style='width: 100px'/>
            </a>
            <p class="card-text">{{ user.login }}</p>
        </div> 
        <h1 v-show="info.isFirst">欢迎使用</h1>
        <h1 v-show="info.isLoading">数据正在加载中......</h1>
        <h1 v-show="info.errMsg">{{ info.errMsg }}</h1>
    </div>
</template>

<script>
    export default {
        name:'MyList',
        data(){
            return {
                info:{
                    isFirst: true,
                    isLoading: false,
                    errMsg:'',
                    users:[]
                }
            }
        },
        mounted(){
            this.$bus.$on('updateInfo', (dataObj) => {
                // es6的写法：dataObj中有的属性则会替换info中的值，没有的属性则不替换
                this.info = {...this.info, ...dataObj}
            })
        }
    }
</script>
<style scoped>
    .album {
    min-height: 50rem; /* Can be removed; just added for demo purposes */
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-color: #f7f7f7;
    }

    .card {
    float: left;
    width: 33.333%;
    padding: .75rem;
    margin-bottom: 2rem;
    border: 1px solid #efefef;
    text-align: center;
    }

    .card > img {
    margin-bottom: .75rem;
    border-radius: 100px;
    }

    .card-text {
    font-size: 85%;
    }
</style>